//2.
let str = "a ;  +b =0;"
let strs = str.trim().split("");
console.log(strs);
let stack = [];
let op = ['+', '-', '*', '/', '%', '&', '|', '^', '<', '>', '='];
let isPreBlank = false; //是否前面空格
let isStart = false; //是否首位
let isEnd = false; //是否末位
for (let i = 0; i < strs.length; i++) {
    let e = strs[i];
    if (e === " ") {
        if (isPreBlank) {
            e = '';
        }
        isPreBlank = true;
    } else {
        isPreBlank = false;
        // op.every();
        if (op.some(item => item == e)) {
            if (!isPreBlank) {
                e += " ";
            }

        }
        if (e === ';') {
            e += ' ';
        }
        if (e === '(' || e === '{') {
            e = ' ' + e;
        }
        if (e === ')' || e === '}') {
            e += ' ';
        }
        // if (e === ';' && !i === strs.length) {
        //     e += ' ';
        // }
        // if (!i === strs.length && (e === '(' || e === '{')) {
        //     e = ' ' + e;
        // }
        // if (!i === strs.length && (e === ')' || e === '}')) {
        //     e += ' ';
        // }
    }
    stack.push(e);

}
console.log("stack", stack);
console.log(stack.join(''));